package com.nidu.demo.dict.dto;

import com.nidu.demo.base.BaseCmd;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * 字典数据添加命令
 *
 * @author auto
 */
@Data
@Schema(description = "字典数据添加命令")
@EqualsAndHashCode(callSuper = true)
public class DictDataAddCmd extends BaseCmd {

    /**
     * 字典标签
     */
    @NotBlank(message = "字典标签不能为空")
    @Size(max = 128, message = "字典标签长度不能超过128个字符")
    @Schema(description = "字典标签", example = "是")
    private String label;

    /**
     * 字典键值
     */
    @NotBlank(message = "字典键值不能为空")
    @Size(max = 128, message = "字典键值长度不能超过128个字符")
    @Schema(description = "字典键值", example = "true")
    private String value;

    /**
     * 字典类型
     */
    @NotBlank(message = "字典类型不能为空")
    @Size(max = 128, message = "字典类型长度不能超过128个字符")
    @Schema(description = "字典类型", example = "boolean-type")
    private String dictType;

    /**
     * 颜色类型
     */
    @Size(max = 128, message = "颜色类型长度不能超过128个字符")
    @Schema(description = "颜色类型", example = "blue")
    private String colorType;

    /**
     * css样式
     */
    @Size(max = 128, message = "css样式长度不能超过128个字符")
    @Schema(description = "css样式", example = "vue-button-blue")
    private String cssClass;

    /**
     * 备注
     */
    @Size(max = 64, message = "备注不能超过64个字符")
    @Schema(description = "备注", example = "用于控制前端标签显示")
    private String remark;

}